package com.chen.mall.modules.ums.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 会员等级表
 * </p>
 *
 * @author XuShu
 * @since 2021-03-09
 */
@TableName("ums_member_level")
@ApiModel(value="UmsMemberLevel对象", description="会员等级表")
public class UmsMemberLevel implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private String name;

    private Integer growthPoint;

    @ApiModelProperty(value = "是否为默认等级：0->不是；1->是")
    private Integer defaultStatus;

    @ApiModelProperty(value = "免运费标准")
    private BigDecimal freeFreightPoint;

    @ApiModelProperty(value = "每次评价获取的成长值")
    private Integer commentGrowthPoint;

    @ApiModelProperty(value = "是否有免邮特权")
    private Integer priviledgeFreeFreight;

    @ApiModelProperty(value = "是否有签到特权")
    private Integer priviledgeSignIn;

    @ApiModelProperty(value = "是否有评论获奖励特权")
    private Integer priviledgeComment;

    @ApiModelProperty(value = "是否有专享活动特权")
    private Integer priviledgePromotion;

    @ApiModelProperty(value = "是否有会员价格特权")
    private Integer priviledgeMemberPrice;

    @ApiModelProperty(value = "是否有生日特权")
    private Integer priviledgeBirthday;

    private String note;

    public UmsMemberLevel() {
    }


    public Long getId() {
        return this.id;
    }

    public String getName() {
        return this.name;
    }

    public Integer getGrowthPoint() {
        return this.growthPoint;
    }

    public Integer getDefaultStatus() {
        return this.defaultStatus;
    }

    public BigDecimal getFreeFreightPoint() {
        return this.freeFreightPoint;
    }

    public Integer getCommentGrowthPoint() {
        return this.commentGrowthPoint;
    }

    public Integer getPriviledgeFreeFreight() {
        return this.priviledgeFreeFreight;
    }

    public Integer getPriviledgeSignIn() {
        return this.priviledgeSignIn;
    }

    public Integer getPriviledgeComment() {
        return this.priviledgeComment;
    }

    public Integer getPriviledgePromotion() {
        return this.priviledgePromotion;
    }

    public Integer getPriviledgeMemberPrice() {
        return this.priviledgeMemberPrice;
    }

    public Integer getPriviledgeBirthday() {
        return this.priviledgeBirthday;
    }

    public String getNote() {
        return this.note;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setGrowthPoint(Integer growthPoint) {
        this.growthPoint = growthPoint;
    }

    public void setDefaultStatus(Integer defaultStatus) {
        this.defaultStatus = defaultStatus;
    }

    public void setFreeFreightPoint(BigDecimal freeFreightPoint) {
        this.freeFreightPoint = freeFreightPoint;
    }

    public void setCommentGrowthPoint(Integer commentGrowthPoint) {
        this.commentGrowthPoint = commentGrowthPoint;
    }

    public void setPriviledgeFreeFreight(Integer priviledgeFreeFreight) {
        this.priviledgeFreeFreight = priviledgeFreeFreight;
    }

    public void setPriviledgeSignIn(Integer priviledgeSignIn) {
        this.priviledgeSignIn = priviledgeSignIn;
    }

    public void setPriviledgeComment(Integer priviledgeComment) {
        this.priviledgeComment = priviledgeComment;
    }

    public void setPriviledgePromotion(Integer priviledgePromotion) {
        this.priviledgePromotion = priviledgePromotion;
    }

    public void setPriviledgeMemberPrice(Integer priviledgeMemberPrice) {
        this.priviledgeMemberPrice = priviledgeMemberPrice;
    }

    public void setPriviledgeBirthday(Integer priviledgeBirthday) {
        this.priviledgeBirthday = priviledgeBirthday;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String toString() {
        return "UmsMemberLevel(id=" + this.getId() + ", name=" + this.getName() + ", growthPoint=" + this.getGrowthPoint() + ", defaultStatus=" + this.getDefaultStatus() + ", freeFreightPoint=" + this.getFreeFreightPoint() + ", commentGrowthPoint=" + this.getCommentGrowthPoint() + ", priviledgeFreeFreight=" + this.getPriviledgeFreeFreight() + ", priviledgeSignIn=" + this.getPriviledgeSignIn() + ", priviledgeComment=" + this.getPriviledgeComment() + ", priviledgePromotion=" + this.getPriviledgePromotion() + ", priviledgeMemberPrice=" + this.getPriviledgeMemberPrice() + ", priviledgeBirthday=" + this.getPriviledgeBirthday() + ", note=" + this.getNote() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof UmsMemberLevel)) return false;
        final UmsMemberLevel other = (UmsMemberLevel) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
        final Object this$name = this.getName();
        final Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        final Object this$growthPoint = this.getGrowthPoint();
        final Object other$growthPoint = other.getGrowthPoint();
        if (this$growthPoint == null ? other$growthPoint != null : !this$growthPoint.equals(other$growthPoint))
            return false;
        final Object this$defaultStatus = this.getDefaultStatus();
        final Object other$defaultStatus = other.getDefaultStatus();
        if (this$defaultStatus == null ? other$defaultStatus != null : !this$defaultStatus.equals(other$defaultStatus))
            return false;
        final Object this$freeFreightPoint = this.getFreeFreightPoint();
        final Object other$freeFreightPoint = other.getFreeFreightPoint();
        if (this$freeFreightPoint == null ? other$freeFreightPoint != null : !this$freeFreightPoint.equals(other$freeFreightPoint))
            return false;
        final Object this$commentGrowthPoint = this.getCommentGrowthPoint();
        final Object other$commentGrowthPoint = other.getCommentGrowthPoint();
        if (this$commentGrowthPoint == null ? other$commentGrowthPoint != null : !this$commentGrowthPoint.equals(other$commentGrowthPoint))
            return false;
        final Object this$priviledgeFreeFreight = this.getPriviledgeFreeFreight();
        final Object other$priviledgeFreeFreight = other.getPriviledgeFreeFreight();
        if (this$priviledgeFreeFreight == null ? other$priviledgeFreeFreight != null : !this$priviledgeFreeFreight.equals(other$priviledgeFreeFreight))
            return false;
        final Object this$priviledgeSignIn = this.getPriviledgeSignIn();
        final Object other$priviledgeSignIn = other.getPriviledgeSignIn();
        if (this$priviledgeSignIn == null ? other$priviledgeSignIn != null : !this$priviledgeSignIn.equals(other$priviledgeSignIn))
            return false;
        final Object this$priviledgeComment = this.getPriviledgeComment();
        final Object other$priviledgeComment = other.getPriviledgeComment();
        if (this$priviledgeComment == null ? other$priviledgeComment != null : !this$priviledgeComment.equals(other$priviledgeComment))
            return false;
        final Object this$priviledgePromotion = this.getPriviledgePromotion();
        final Object other$priviledgePromotion = other.getPriviledgePromotion();
        if (this$priviledgePromotion == null ? other$priviledgePromotion != null : !this$priviledgePromotion.equals(other$priviledgePromotion))
            return false;
        final Object this$priviledgeMemberPrice = this.getPriviledgeMemberPrice();
        final Object other$priviledgeMemberPrice = other.getPriviledgeMemberPrice();
        if (this$priviledgeMemberPrice == null ? other$priviledgeMemberPrice != null : !this$priviledgeMemberPrice.equals(other$priviledgeMemberPrice))
            return false;
        final Object this$priviledgeBirthday = this.getPriviledgeBirthday();
        final Object other$priviledgeBirthday = other.getPriviledgeBirthday();
        if (this$priviledgeBirthday == null ? other$priviledgeBirthday != null : !this$priviledgeBirthday.equals(other$priviledgeBirthday))
            return false;
        final Object this$note = this.getNote();
        final Object other$note = other.getNote();
        if (this$note == null ? other$note != null : !this$note.equals(other$note)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof UmsMemberLevel;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
        final Object $name = this.getName();
        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
        final Object $growthPoint = this.getGrowthPoint();
        result = result * PRIME + ($growthPoint == null ? 43 : $growthPoint.hashCode());
        final Object $defaultStatus = this.getDefaultStatus();
        result = result * PRIME + ($defaultStatus == null ? 43 : $defaultStatus.hashCode());
        final Object $freeFreightPoint = this.getFreeFreightPoint();
        result = result * PRIME + ($freeFreightPoint == null ? 43 : $freeFreightPoint.hashCode());
        final Object $commentGrowthPoint = this.getCommentGrowthPoint();
        result = result * PRIME + ($commentGrowthPoint == null ? 43 : $commentGrowthPoint.hashCode());
        final Object $priviledgeFreeFreight = this.getPriviledgeFreeFreight();
        result = result * PRIME + ($priviledgeFreeFreight == null ? 43 : $priviledgeFreeFreight.hashCode());
        final Object $priviledgeSignIn = this.getPriviledgeSignIn();
        result = result * PRIME + ($priviledgeSignIn == null ? 43 : $priviledgeSignIn.hashCode());
        final Object $priviledgeComment = this.getPriviledgeComment();
        result = result * PRIME + ($priviledgeComment == null ? 43 : $priviledgeComment.hashCode());
        final Object $priviledgePromotion = this.getPriviledgePromotion();
        result = result * PRIME + ($priviledgePromotion == null ? 43 : $priviledgePromotion.hashCode());
        final Object $priviledgeMemberPrice = this.getPriviledgeMemberPrice();
        result = result * PRIME + ($priviledgeMemberPrice == null ? 43 : $priviledgeMemberPrice.hashCode());
        final Object $priviledgeBirthday = this.getPriviledgeBirthday();
        result = result * PRIME + ($priviledgeBirthday == null ? 43 : $priviledgeBirthday.hashCode());
        final Object $note = this.getNote();
        result = result * PRIME + ($note == null ? 43 : $note.hashCode());
        return result;
    }
}
